1. Field of the Invention
The present invention relates to memory allocation for real-time audio processing. In particular, the present invention relates to DRAM bank switching for real-time audio data storage.
2. Description of Related Art
Real-time audio signal processing requires fast access time. In a typical audio system, there are general-purpose processor and specialized digital signal processor (DSP). The general purpose or host processor is any general central processing unit (CPU) such as those in a personal computer (PC). The host processor usually performs data storage, user interface, network control, and other general command and house keeping functions. The host processor also has interfaces to peripheral devices such as serial communication, disk controllers (e.g., a hard disk controller). The DSP usually performs signal processing functions to process real-time audio data such as digital filtering. Multiple and separate memory banks are accessible to both the host processor or other direct memory access (DMA) devices such as a SCSI controller.
Real-time audio signal processing usually involves three basic operational modes: recording, playback, and editing.
During the recording mode, the audio data are sent from audio input channels and stored in random access memories (RAMs) by the DSP. The audio data are subsequently transferred to a storage device such as a hard disk drive via the SCSI controller.
During the playback mode, the audio data stored in the hard disk drive are first transferred to random access memory (RAM) via the SCSI controller. The DSP then accesses the RAM to process the audio data and output to the appropriate audio output channels.
The RAM is typically organized as multiple memory banks which are accessible to both the DSP and the SCSI controller. Traditional techniques involve transferring data to fill up a memory bank before going to the next memory bank. However, if a memory bank is busy for receiving data, it will not be immediately accessible to the DSP, resulting in processing delay.
Accordingly, there is a need to provide an apparatus and method for efficient memory allocation for real-time audio signal processing.